1
La regla de eficiencia: ¿por qué la notación O grande es el lenguaje universal para programadores?
AI028Lesson 2
00:00

Complejidad temporal (Time Complexity) No mide los segundos absolutos que tarda un algoritmo, sino una función matemática que describe cómo crece el tiempo de ejecución del algoritmo conforme aumenta el tamaño del problema $n$. Se basa en el principio fundamental de que el análisis de algoritmos es una medida independiente de su implementación.

Tamaño $n$Tiempo $T(n)$O(n²)O(n)O(log n)O(1)

¿Por qué es un lenguaje universal?

  • Evolution cuantitativa: la notación O grande ignora términos de menor orden y constantes, centrándose únicamente enorden de magnitud (Order of Magnitude).
  • Determinación de la medición: los programadores suelen tomar como referenciael peor caso (Worst Case) como base, garantizando un límite inferior para el rendimiento.
  • Decisión multiambiente: ya sea en un supercomputador o en un chip embebido, la mejora de $O(n^2)$ a $O(n \log n)$ tiene consecuencias esenciales.
Método de conteo (Counting)
Calcular el número de veces que aparece cada carácter en dos cadenas. Si las listas de recuento de caracteres son idénticas, entonces las dos cadenas son necesariamente anagramas. Este método logra una eficiencia de método de conteo: $O(n)$ alta eficiencia.